// @author: caoshi
// @date: 2021-05-05 12:47
package main

import (
	"database/sql"
	"demo01_mysql/src/test"
	"fmt"
	_ "github.com/go-sql-driver/mysql"
)

func main() {
	//test1()

	// 测试新增
	//test.InsertOneTest()

	// 测试修改
	//test.ModifyTest()

	// 测试删除
	//test.DeleteTest()

	// 测试查询
	test.QueryTest()
}

func test1() {
	// 1. 打开连接
	db, err := sql.Open("mysql", "root:hadoop123@tcp(121.196.166.188:3306)/demo")
	defer func() {
		if db != nil {
			db.Close()
		}
	}()
	if err != nil {
		fmt.Println("MySQL数据库连接失败")
		return
	}

	// 2. 预处理sql
	stmt, err := db.Prepare("insert into dept values (?, ?, ?)")
	if err != nil {
		fmt.Println("预处理失败!")
		return
	}
	defer func() {
		if stmt != nil {
			stmt.Close()
			return
		}
	}()
	r, err := stmt.Exec(60, "财务部", "武汉市")

	if err != nil {
		fmt.Println("sql 执行失败")
		return
	}

	count, err := r.RowsAffected()

	if err != nil {
		fmt.Println("未查询到数据")
		return
	}

	if count > 0 {
		fmt.Println("新增成功")
	} else {
		fmt.Println("新增失败")
	}


	// 获取新增记录的主键
	id, _ := r.LastInsertId()
	fmt.Println("新增记录主键: ", id)


	// 关闭, 在defer中写
	//stmt.Close()
	//db.Close()
}
